package com.yingsheng.bi.hks.feign.client;

import com.yingsheng.bi.hks.basic.FeignConst;
import com.yingsheng.bi.hks.dto.contract.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 合同管理路由
 */
@FeignClient(contextId = FeignConst.HKS_CONTRACT, name = FeignConst.SERVICE_NAME)
@Api(tags = "合同管理", value = "合同管理")
public interface ContractFeignClient {

    @ApiOperation(httpMethod = "POST", value = "合同模版查询")
    @RequestMapping(value = "/contractMgmt/templateQry")
    ContractTemplateQryRes templateQry(@RequestBody ContractTemplateQryReq req);

    @ApiOperation(httpMethod = "POST", value = "欣佳源家政管理制合同-客户发起")
    @RequestMapping(value = "/contractMgmt/templateOneSend")
    ContractOneSendRes templateOneSend(@RequestBody ContractOneSendReq req);

    @ApiOperation(httpMethod = "POST", value = "生成合同签署令牌")
    @RequestMapping(value = "/contractMgmt/createContractToken")
    CreateContractTokenRes createContractToken(@RequestBody CreateContractTokenReq req);

    @ApiOperation(httpMethod = "POST", value = "合同下载")
    @RequestMapping(value = "/contractMgmt/contractDownLoad")
    ContractDownLoadRes contractDownLoad(@RequestBody ContractDownLoadReq req);

    @ApiOperation(httpMethod = "POST", value = "合同查询")
    @RequestMapping(value = "/contractMgmt/contractsQry")
    ContractsQryRes contractsQry(@RequestBody ContractsQryReq req);

    @ApiOperation(httpMethod = "POST", value = "契约锁交易回调")
    @RequestMapping(value = "/contractMgmt/notice")
    String QYSnotice(String content);

    @ApiOperation(httpMethod = "POST", value = "契约锁合同浏览")
    @RequestMapping(value = "/contractMgmt/browse")
    BrowseRes browse(@RequestBody BrowseReq req);
}
